A Performance Measurement Infrastructure for Co-array Fortran
نویسندگان
چکیده
Co-Array Fortran is a parallel programming language for scientific applications that provides a very intuitive mechanism for communication, and especially, one-sided communication. Despite the benefits of this integration of communication primitives with the language, analyzing the performance of CAF applications is not straightforward, which is due, in part, to a lack of tools for analysis of the communication behavior of Co-Array Fortran applications. In this paper, we present an extension to the KOJAK toolkit based on a source-to-source translator that supports performance instrumentation, data collection, trace generation, and performance visualization of Co-Array Fortran applications. We illustrate this approach with a performance visualization of a Co-Array Fortran version of the Halo kernel benchmark using the VAMPIR event trace visualization tool.
منابع مشابه
Co-array Python: A Parallel Extension to the Python Language
A parallel extension to the Python language is introduced that is modeled after the Co-Array Fortran extensions to Fortran 95. A new Python module, CoArray, has been developed to provide co-array syntax that allows a Python programmer to address co-array data on a remote processor. An example of Jacobi iteration using the CoArray module is shown and corresponding performance results are presented.
متن کاملCo-Array Collectives: Refined Semantics for Co-Array Fortran
Co-array notation provides a compact syntax for programming parallel programs. Co-array Fortran (CAF) introduced and implements this notation, and CAF is currently proposed as an extension to the Fortran language standard. We believe that co-array notation requires a revised semantic definition beyond that specified by CAF for both pragmatic reasons within Fortran and to make the notation attra...
متن کاملExperiences with Co-array Fortran on Hardware Shared Memory Platforms
When performing source-to-source compilation of Co-array Fortran (CAF) programs into SPMD Fortran 90 codes for shared-memory multiprocessors, there are several ways of representing and manipulating data at the Fortran 90 language level. We describe a set of implementation alternatives and evaluate their performance implications for CAF variants of the STREAM, Random Access, Spark98 and NAS MG &...
متن کاملCo-array Fortran Performance and Potential: An NPB Experimental Study
Co-array Fortran (CAF) is an emerging model for scalable, global address space parallel programming that consists of a small set of extensions to the Fortran 90 programming language. Compared to MPI, the widely-used messagepassing programming model, CAF’s global address space programming model simplifies the development of single-program-multiple-data parallel programs by shifting the burden fo...
متن کاملThe Philosophy and Implementation of Next-Generation Parallel Programming Languages
2 Explicit Parallelism 3 2.1 Message-Passing with MPI, SHMEM, ARMCI, and GASNet . . . 3 2.2 Partitioned Global Address Space . . . . . . . . . . . . . . . . . . 4 2.3 Co-Arrays with Fortran and C . . . . . . . . . . . . . . . . . . . 4 2.3.1 Co-Array Fortran . . . . . . . . . . . . . . . . . . . . . . . 5 2.3.2 UPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3.3 Performance ...
متن کامل